import request from '@/utils/http'

// 用户数据列表
// | query    | 查询参数     | 可以为空 |
// | pagenum  | 当前页码     | 不能为空 |
// | pagesize | 每页显示条数 | 不能为空 |
export const getUserListAPI = (users) => {
    return request({
        method: 'GET',
        url: 'users',
        params: users
    })
}

// 添加用户
// | username | 用户名称 | 不能为空 |
// | password | 用户密码 | 不能为空 |
// | email    | 邮箱     | 可以为空 |
// | mobile   | 手机号   | 可以为空 |
export const addUserAPI = (data) => {
    return request({
        method: 'POST',
        url: 'users',
        data
    })
}

/**
 * 修改用户状态
 * | uId  | 用户 ID  | 不能为空`携带在url中`                       |
 * | type | 用户状态 | 不能为空`携带在url中`，值为 true 或者 false |
*/
export const editUserStausAPI = (uId, type) => {
    return request({
        method: 'PUT',
        url: `users/${uId}/state/${type}`
    })
}

// 根据 ID 查询用户信息
export const queryUserAPI = (id) => {
    return request({
        method: 'GET',
        url: `users/${id}`
    })
}

// 修改用户
export const editUserAPI = ({ id, email, mobile }) => {
    return request({
        method: 'PUT',
        url: `users/${id}`,
        data: {
            email,
            mobile
        }
    })
}

// 删除用户
export const delUserAPI = (id) => {
    return request({
        method: 'DELETE',
        url: `users/${id}`
    })
}

export const allotRolesAPI = (id, rid) => {
    return request({
        method: 'PUT',
        url: `users/${id}/role`,
        data: {
            rid
        }
    })
}